<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <title>每隔一秒打印1234</title>
</head>

<body>
    <script>
        // 会直接打印5个5，如何实现打印0,1,2,3,4
        for (var i = 0; i < 5; i++) {
            setTimeout(function () {
                console.log(i);
            }, i * 1000);
        }

        //方法1： 闭包实现
        for (var i = 0; i < 5; i++) {
            (function (i) {
                setTimeout(function () {
                    console.log(i);
                }, i * 1000);
            })(i)
        }

        // 方法2：使用let块级作用域
        for (let i = 0; i < 5; i++) {
            setTimeout(function () {
                console.log(i);
            }, i * 1000);
        }
    </script>
</body>

</html>